home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
PROGRAMM
/
DB_CLIPP
/
0292.ZIP
/
WAMPUM.ARC
/
MENU.PRG
< prev
next >
Wrap
Text File
|
1985-12-21
|
7KB
|
384 lines
* MENU.PRG (Version 1.0) is the Main Procedure File
PROCEDURE MAIN
STORE "1.0" TO VERSION
STORE " " TO OPTION
DO WHILE Option <> '0'
STORE ' ' TO Option
CLEAR
CLOSE FORMAT
STORE "<Esc>" TO Pick
@ 1,2 SAY DATE()
@ 1,70 SAY TIME()
@ 3,15 SAY HEADING
@ 6 ,0 SAY " Please select one of ";
+ "the following options: "
@ 9 ,0 SAY " 1 ADD NEW ENTRY TO SYSTEM ";
+ " 6 PRINT "+USERRPT1
@ 11 ,0 SAY " 2 MODIFY EXISTING ENTRY ";
+ " 7 PRINT "+USERRPT2
@ 13 ,0 SAY " 3 DELETE EXISTING ENTRY ";
+ " 8 PRINT "+USERRPT3
@ 15 ,0 SAY " 4 RESTORE EXISTING ENTRY ";
+ " 9 SUPPLEMENTAL REPORTS "
@ 17 ,0 SAY " 5 SUPPLEMENTAL LABELS ";
+ " 0 EXIT TO dBASE III "
@ 20 ,0 SAY " My choice i";
+ "s "
@ 20 , 44 GET OPTION PICTURE "N"
READ
DO CASE
CASE UPPER(OPTION)='D'
DO DELUSER
CASE UPPER(OPTION)='R'
DO RESTUSER
CASE UPPER(OPTION)='U'
DO RESTUSER
CASE UPPER(OPTION)='C'
DO CHANGEM
CASE OPTION='1'
DO ADDUSER
CASE OPTION='2'
DO MODUSER
CASE OPTION='3'
DO DELUSER
CASE OPTION='4'
DO RESTUSER
CASE OPTION='5'
DO SUPPLABL
CASE OPTION='6'
DO USERRPT1
CASE OPTION='7'
DO USERRPT2
CASE OPTION='8'
DO USERRPT3
CASE OPTION='9'
DO SUPPRPT
ENDCASE
ENDDO
RETURN
PROCEDURE DELUSER
CLEAR GETS
STORE ' ' TO Option
@ 22 ,0 SAY " Are you sure you want DELETE mod";
+ "e "
@ 22 , 44 GET OPTION PICTURE "!"
READ
IF Option <> 'Y'
RETURN
ENDIF
STORE ' ' TO ThisRec
STORE ' ' TO Wrath
DO WHILE LEN(ThisRec)>0
CLOSE FORMAT
CLEAR
STORE ' ' TO ThisRec
@ 10,15 SAY Wrath
@ 12,15 SAY "Enter Key ID of record to DELETE: " GET ThisRec
READ
STORE ' ' TO Wrath
STORE TRIM(ThisRec) TO ThisRec
IF LEN(ThisRec)=0
LOOP
ENDIF
SEEK ThisRec
IF EOF() .OR. BOF()
GO TOP
STORE "Record Not Found." TO Wrath
? CHR(7)
LOOP
ENDIF
SET FORMAT TO DISP
EDIT
STORE "<Esc>" TO Pick
IF EOF() .OR. BOF()
GO TOP
STORE "End of File Reached." TO Wrath
? CHR(7)
LOOP
ENDIF
STORE RECNO() TO ThisRec
DELETE
CLEAR
? "RECORD HAS BEEN DELETED."
GO TOP
ENDDO
? " "
WAIT
RETURN
PROCEDURE RESTUSER
CLEAR GETS
STORE ' ' TO Option
@ 22 ,0 SAY " Are you sure you want RESTORE mod";
+ "e "
@ 22 , 44 GET OPTION PICTURE "!"
READ
IF Option <> 'Y'
RETURN
ENDIF
STORE ' ' TO ThisRec
STORE ' ' TO Wrath
DO WHILE LEN(ThisRec)>0
CLOSE FORMAT
CLEAR
STORE ' ' TO ThisRec
@ 10,15 SAY Wrath
@ 12,15 SAY "Enter Item Key of Record to RESTORE: " GET ThisRec
READ
STORE ' ' TO Wrath
STORE TRIM(ThisRec) TO ThisRec
IF LEN(ThisRec)=0
LOOP
ENDIF
SEEK ThisRec
IF EOF() .OR. BOF()
GO TOP
STORE "Record Not Found." TO Wrath
? CHR(7)
LOOP
ENDIF
SET FORMAT TO DISP
EDIT
STORE "<Esc>" TO Pick
IF EOF() .OR. BOF()
GO TOP
STORE "End of File Reached." TO Wrath
? CHR(7)
LOOP
ENDIF
STORE RECNO() TO ThisRec
RECALL
CLEAR
? "RECORD RESTORED AS REQUESTED."
GO TOP
ENDDO
? " "
WAIT
RETURN
PROCEDURE ADDUSER
CLEAR
IF MENU<>SPACE(8)
SET FORMAT TO &MENU
ENDIF
APPEND
CLOSE FORMAT
GO TOP
CLEAR
RETURN
PROCEDURE MODUSER
STORE ' ' TO ThisRec
STORE ' ' TO Wrath
DO WHILE LEN(ThisRec)>0
CLOSE FORMAT
CLEAR
CLEAR GETS
THISREC=SPACE(30)
@ 10,10 SAY Wrath
@ 12,10 SAY "Enter Item Key of Record to Find: " GET ThisRec
READ
STORE ' ' TO Wrath
STORE TRIM(ThisRec) TO ThisRec
IF LEN(ThisRec)=0
LOOP
ENDIF
SEEK ThisRec
IF EOF()
GO TOP
STORE "Record is not on File." TO Wrath
? CHR(7)
LOOP
ENDIF
IF MENU<>SPACE(8)
SET FORMAT TO &MENU
ENDIF
EDIT
ENDDO
CLOSE FORMAT
CLEAR
RETURN
PROCEDURE PRINTSUB
STORE ' ' TO PFlag
CLEAR
@ 12,15 SAY "Make sure PRINTER is ON. Then press P to print: " GET PFlag PICTURE '!'
READ
IF PFlag <> 'P'
STORE ' ' TO PFlag
RETURN
ELSE
* SET PRINT ON
* ? CHR(27)+"!"+CHR(22)
* SET PRINT OFF
CLEAR
@ 12,20 SAY "Processing Report. Please wait. . . ."
RETURN
PROCEDURE SELECT
IF TYPE('THISPICK')='U'
THISPICK=SPACE(40)
ENDIF
IF LEN(THISPICK)<40
THISPICK=THISPICK+SPACE(40-LEN(THISPICK))
ENDIF
CLEAR GETS
@ 24,7 SAY "Enter selection criteria " GET THISPICK
READ
THISPICK=TRIM(THISPICK)
IF LEN(THISPICK)>0
CRITERIA="FOR "+THISPICK
ELSE
CRITERIA=" "
ENDIF
RETURN
PROCEDURE USERRPT1
DO SELECT
DO PRINTSUB
SET DELETED ON
CLEAR
IF PFLAG = ' '
LABEL FORM &REPORT1 &CRITERIA
WAIT
ELSE
LABEL FORM &REPORT1 &CRITERIA TO PRINT
EJECT
ENDIF
GO TOP
SET DELETED OFF
RETURN
PROCEDURE USERRPT2
DO SELECT
DO PRINTSUB
SET DELETED ON
SELECT 1
CLEAR
IF PFLAG = ' '
REPORT FORM &REPORT2 &CRITERIA
WAIT
ELSE
REPORT FORM &REPORT2 &CRITERIA NOEJECT TO PRINT
EJECT
ENDIF
GO TOP
SET DELETED OFF
RETURN
PROCEDURE USERRPT3
DO SELECT
DO PRINTSUB
SET DELETED ON
SELECT 1
CLEAR
IF PFLAG = ' '
REPORT FORM &REPORT3 &CRITERIA
WAIT
ELSE
REPORT FORM &REPORT3 &CRITERIA NOEJECT TO PRINT
EJECT
ENDIF
GO TOP
SET DELETED OFF
RETURN
PROCEDURE SUPPRPT
CLEAR
@ 1,0 SAY "The following report formats are on file:"
? " "
DIR *.FRM
RPT=SPACE(8)
@ 22,7 SAY "Enter report name or <RETURN> for dBASE ASSIST: .FRM"
@ 22,55 GET RPT PICTURE '!!!!!!!!'
READ
IF RPT<>SPACE(8)
RPT=TRIM(RPT)+".FRM"
ENDIF
DO CASE
CASE RPT=SPACE(8)
CLEAR
SET TALK ON
ASSIST
SET TALK OFF
&FILESPEC
*CASE FILE(RPT)
OTHERWISE -->> Use this for AT's only since it can't check directory.
DO SELECT
DO PRINTSUB
SET DELETED ON
CLEAR
IF PFLAG = ' '
REPORT FORM &RPT &CRITERIA
WAIT
ELSE
REPORT FORM &RPT &CRITERIA NOEJECT TO PRINT
EJECT
ENDIF
SET DELETED OFF
GO TOP
ENDCASE
RETURN
PROCEDURE SUPPLABL
CLEAR
@ 1,0 SAY "The following label routines are on file:"
? " "
DIR *.LBL
RPT=SPACE(8)
@ 22,7 SAY "Enter label name or <RETURN> for dBASE ASSIST: .LBL"
@ 22,54 GET RPT PICTURE '!!!!!!!!'
READ
IF RPT<>SPACE(8)
RPT=TRIM(RPT)+".LBL"
ENDIF
DO CASE
CASE RPT=SPACE(8)
CLEAR
SET TALK ON
ASSIST
SET TALK OFF
&FILESPEC
*CASE FILE(RPT)
OTHERWISE -->> Use this for AT's only since it can't check directory.
DO SELECT
DO PRINTSUB
SET DELETED ON
CLEAR
IF PFLAG = ' '
LABEL FORM &RPT &CRITERIA
WAIT
ELSE
LABEL FORM &RPT &CRITERIA NOEJECT TO PRINT
EJECT
ENDIF
SET DELETED OFF
GO TOP
ENDCASE
RETURN
PROCEDURE CHANGEM
CLEAR
SET FORMAT TO CONFIG
READ
UFLAG=.T.
CLEAR
CLOSE FORMAT
@ 12,20 SAY "Update Configuration File? " GET UFLAG
READ
CLEAR
IF UFLAG
SAVE TO CONFIG
? CHR(7)
@ 14,20 SAY "Configuration File Updated."
ENDIF
RETURN
" GET UFLAG
READ
CLEAR
IF UFLAG
SAVE TO CONFIG
? CHR(7)
@ 14,20 SAY "Configuration File Updated."
E